Many adaptive filtering techniques based on time domain and frequency domain have been used to solve the problem of echo signal cancellation in teleconferencing applications. The simplest time domain technique currently prevalent is NLMS (Normalized Least Mean Square), which has the order of complexity directly proportional to the square of the filter length. Another time domain technique that is used is a block LMS technique, which works on blocks of samples for filtering and adaptation. The complexity of the block LMS has been significantly reduced by time domain convolution transforming into multiplication in frequency domain. The frequency domain implementation results in a similar output, given by the time domain block LMS, with reduced complexity and hence called the fast block LMS (FBLMS). The reduced complexity is achieved by making the block length equal to the filter length, i.e., the filtering and the adaptation are done for every filter length sample. This generally introduces a delay, which is equal to the filter length. In teleconferencing applications where the echo reverberation times are generally large, a large filter is required to cover an entire echo signal. Therefore, when the FBLMS filter is used in such applications the delay introduced can be large and is generally not acceptable in real-time applications.
Partitioned block frequency domain adaptive filter (PBFDAF) solves the problem of high computational complexity of time domain techniques and large delays of frequency domain techniques. The PBFDAF module achieves this by partitioning the filter into multiple non-overlapping smaller sub-filters. Therefore, a balance between the delay and the computational complexity can be achieved by using the PBFDAF. The error signal between the actual echo signal and the echo signal estimated by the PBFDAF is used for the updation of the PBFDAF. This updation of the PBFDAF requires choosing a step-size μ.
Choosing a fixed step size can make the adaptive filter very unstable in the presence of a near end speech and/or a background noise. A control algorithm, which takes the decision to continue or inhibit the adaptation, is required for a stable and efficient operation of the adaptive filter in the presence of the near end speech and/or the background noise. This is normally done by controlling the step-size μ of the adaptive filter. Many of the current techniques used to control the step size μ, during a double talk and the background noise, in both the time and frequency domain adaptive filters are computationally very complex.
In addition, separate detection algorithms are required to detect single talk and double talk in a bidirectional communication link. Further, a background noise estimator is required when running in noisy condition, and a voice activity detector is needed for estimating the background noise. Detection of non-stationary noise is generally difficult even when using a good voice activated detector (VAD). In case of a failure of a correct background noise estimate, the adaptive filter can become unstable or it may not converge effectively to suppress the echo signal. A more robust step size control algorithm is required in such scenarios.